package com.sakura.system.service.impl.xyimpl;

//import com.xiaoxu.cinema.mapper.ManagerMapper;
//import com.xiaoxu.cinema.pojo.Manager;
//import com.xiaoxu.cinema.service.ManagerService;
import com.sakura.system.dao.xydao.ManagerMapper;
import com.sakura.system.entity.xy.Manager;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;

@Service
public class ManagerServiceImpl implements ManagerService {
    @Resource
    ManagerMapper managerMapper;
    /**
     * 根据经理ID选择经理信息。
     *
     * @param managerId 经理的唯一标识符。此参数用于指定要查询的经理的ID。
     * @return 返回与给定经理ID匹配的Manager对象。如果没有找到匹配的经理信息，则返回null。
     */
    @Override
    public Manager selectByManagerId(String managerId) {
        // 调用mapper层方法，查询指定ID的经理信息并返回
        return managerMapper.selectByManagerId(managerId);
    }


    /**
     * 管理员登录。
     *
     * @param managerId 管理员ID，用于标识登录的管理员。
     * @param password 登录密码，用于验证管理员身份。
     * @return 如果登录成功，返回对应的Manager对象；如果登录失败，返回null。
     */
    @Override
    public Manager managerLogin(String managerId, String password) {

        // 通过managerId和password查询数据库，尝试登录
        Manager manager = managerMapper.managerLogin(managerId,password);
        if(manager!=null){
            // 登录成功后，更新管理员的最后登录时间
            managerMapper.updateManagerTime(manager.getManagerId());
            return manager;
        }
        // 登录失败，返回null
        return null;
    }


    /**
     * 注册一个新的管理器。
     * @param manager 管理器对象，包含管理器的详细信息。
     * 该方法会将给定的管理器对象注册到系统中。
     */
    @Override
    public void reg(Manager manager) {
        managerMapper.reg(manager); // 调用managerMapper的reg方法，将manager对象注册到数据库中
    }
    
}
